package br.edu.ifpb.entidades;

import java.sql.SQLException;
import java.util.ArrayList;

import br.edu.ifpb.classesDAO.RefeicaoDAO;
import br.edu.ifpb.entidades.Refeicao;

public class Refeicao {
	private int id_usuario;
	private int id_refeicao;
	private String tipo;
	private String data;
	private String nome_usuario;
	
	RefeicaoDAO dao;
	
	public Refeicao(){
		dao = new RefeicaoDAO();
	}
	
	public int getId_usuario() {
		return id_usuario;
	}
	
	public void setId_usuario(int id_usuario) {
		this.id_usuario = id_usuario;
	}
	
	public int getId_refeicao() {
		return id_refeicao;
	}
	
	public void setId_refeicao(int id_refeicao) {
		this.id_refeicao = id_refeicao;
	}
	
	public String getTipo() {
		return tipo;
	}
	
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	public String getData() {
		return data;
	}
	
	public void setData(String data) {
		this.data = data;
	}
	
	public String getNome_usuario() {
		return nome_usuario;
	}

	public void setNome_usuario(String nome_usuario) {
		this.nome_usuario = nome_usuario;
	}
	
	public boolean newRefeicao(int id, String tipo) throws SQLException{
		
		int num = dao.verificaConfirmacao(id, tipo);
		
		if (num == 2){
			System.out.println("\nERRO 02: A confirmacao so pode ser feita 3h antes da refeicao do dia atual\n");
			System.out.println("Almoco - Confirmacao ate as 9h\n");
			System.out.println("Jantar - Confirmacao ate as 14h 30min\n");
			return false;
		}
		
		if (num == 1){
			System.out.println("\nERRO 01: Você não pode mais confirmar refeicao, ja confirmaste essa refeicao hoje\n");
			return false;
		}
		
		Refeicao r = new Refeicao();
		r.setId_usuario(id);
		r.setTipo(tipo);
		
		return dao.insert(r);
		
	}
	
	public void listAll() throws SQLException{
		
		ArrayList<Refeicao> lista = dao.getAll();
		
		if (lista.isEmpty()){
			
			System.out.println("\nNao existem refeicoes cadastradas para hoje ate o momento");
			
			return;
		}
		
		System.out.println("\nRefeicao      Data          Nome");
		
		for (int i = 0; i < lista.size(); i++)
			System.out.printf("... %s ..... %s .... %s\n", lista.get(i).getTipo(), lista.get(i).getData(), lista.get(i).getNome_usuario());
		
		System.out.print("\n");
		
	}

}
